package fr.lip6.move.care

/**
 * @author pstl-team
 */
class CompileResult {
    public static CompileResult EMPTY_RESULT=
    	new CompileResult('''''', "EMPTY_ID", false); 
    
    /** Le CharSequence resultant de la generation */
    private CharSequence charSequenceResult;
    
    /** l'id unique de l'element genere a travers tous le diagramme */
    private String eltID;
    
    /** Un element doit etre ajoute dans la sequence principale
        si il n'est inclut dans aucun autre et qu'il represente un
        un element existant dans CARE. Il sera alors ajouter a la BlockList
        principale du Main (voir utilisation de la classe Main dans le package
        programs de CARE). Par exemple, une declaration de methode n'as pas 
        d'equivalent en CARE. */
    private Boolean isAddableToMainSequence;
    
    
    
 	new(CharSequence charSequenceResult, 
 		String eltID,
 		boolean isAddableToMainSequence){
 		
 		this.charSequenceResult= charSequenceResult
 		this.eltID= eltID
 		this.isAddableToMainSequence= isAddableToMainSequence
 	}



	/* ************* *
	 * ** GETTERS ** *
	 * ************* */
	 
    def CharSequence getCharSequenceResult(){
        return charSequenceResult
    }
    
    def String getEltID(){
        return eltID
    }
    
    def Boolean getIsAddableToEntryPoint(){
    	return isAddableToMainSequence
    }
    
//  /* ************* *
//	 * ** SETTERS ** *
//	 * ************* */
//    
//    def CompileResult setIsAddableToMainSequence(Boolean isAddableToEntryPoint){
//    	this.isAddableToMainSequence= isAddableToEntryPoint;
//   		return this;
//    }
//    
//    def CompileResult setCharSequenceResult(CharSequence charSequenceResult){
//        this.charSequenceResult= charSequenceResult;
//        return this;
//    }
//    
//    def CompileResult setEltID(String eltId){
//        this.eltId= eltId;
//        return this;
//    }
//    
//    def CompileResult setEltKind(String eltKind){
//        this.eltKind= eltKind
//        return this;
//    }
}